package com.healthy.support.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.healthy.common.core.annotation.Excel;
import com.healthy.common.core.web.domain.BaseEntity;

/**
 * 帮助文档对象 files
 * 
 * @author ruoyi
 * @date 2024-03-29
 */
public class Files extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 文件的唯一标识符 */
    private Long fileId;

    /** 文件的标题或名称 */
    @Excel(name = "文件的标题或名称")
    private String title;

    /** 文件的描述 */
    @Excel(name = "文件的描述")
    private String description;

    /** 上传日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "上传日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date uploadDate;

    /** 上传者ID */
    @Excel(name = "上传者ID")
    private Long uploaderId;

    /** 文件在服务器上的路径 */
    @Excel(name = "文件在服务器上的路径")
    private String filePath;

    /** 文件类型，如PDF, DOCX, JPG等 */
    @Excel(name = "文件类型，如PDF, DOCX, JPG等")
    private String fileType;

    /** 是否公开文件，1为公开，0为私有 */
    @Excel(name = "是否公开文件，1为公开，0为私有")
    private Integer isPublic;

    /** 备用列1 */
    @Excel(name = "备用列1")
    private String spareColumn1;

    /** 备用列2 */
    @Excel(name = "备用列2")
    private String spareColumn2;

    /** 备用列3 */
    @Excel(name = "备用列3")
    private String spareColumn3;

    public void setFileId(Long fileId) 
    {
        this.fileId = fileId;
    }

    public Long getFileId() 
    {
        return fileId;
    }
    public void setTitle(String title) 
    {
        this.title = title;
    }

    public String getTitle() 
    {
        return title;
    }
    public void setDescription(String description) 
    {
        this.description = description;
    }

    public String getDescription() 
    {
        return description;
    }
    public void setUploadDate(Date uploadDate) 
    {
        this.uploadDate = uploadDate;
    }

    public Date getUploadDate() 
    {
        return uploadDate;
    }
    public void setUploaderId(Long uploaderId) 
    {
        this.uploaderId = uploaderId;
    }

    public Long getUploaderId() 
    {
        return uploaderId;
    }
    public void setFilePath(String filePath) 
    {
        this.filePath = filePath;
    }

    public String getFilePath() 
    {
        return filePath;
    }
    public void setFileType(String fileType) 
    {
        this.fileType = fileType;
    }

    public String getFileType() 
    {
        return fileType;
    }
    public void setIsPublic(Integer isPublic) 
    {
        this.isPublic = isPublic;
    }

    public Integer getIsPublic() 
    {
        return isPublic;
    }
    public void setSpareColumn1(String spareColumn1) 
    {
        this.spareColumn1 = spareColumn1;
    }

    public String getSpareColumn1() 
    {
        return spareColumn1;
    }
    public void setSpareColumn2(String spareColumn2) 
    {
        this.spareColumn2 = spareColumn2;
    }

    public String getSpareColumn2() 
    {
        return spareColumn2;
    }
    public void setSpareColumn3(String spareColumn3) 
    {
        this.spareColumn3 = spareColumn3;
    }

    public String getSpareColumn3() 
    {
        return spareColumn3;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("fileId", getFileId())
            .append("title", getTitle())
            .append("description", getDescription())
            .append("uploadDate", getUploadDate())
            .append("uploaderId", getUploaderId())
            .append("filePath", getFilePath())
            .append("fileType", getFileType())
            .append("isPublic", getIsPublic())
            .append("spareColumn1", getSpareColumn1())
            .append("spareColumn2", getSpareColumn2())
            .append("spareColumn3", getSpareColumn3())
            .toString();
    }
}
